Plugins

Argo CD allows integrating more config management tools using config management plugins. Following changes are required to configure new plugin:

  • Make sure required binaries are available in argocd-repo-server pod. The binaries can be added via volume mounts or using custom image (see custom_tools).
  • Register a new plugin in argocd-cm ConfigMap:
  1. data:
  2. configManagementPlugins: |
  3. - name: pluginName
  4. init: # Optional command to initialize application source directory
  5. command: ["sample command"]
  6. args: ["sample args"]
  7. generate: # Command to generate manifests YAML
  8. command: ["sample command"]
  9. args: ["sample args"]

The generate command must print a valid YAML stream to stdout. Both init and generate commands are executed inside the application source directory.

  • Create an application and specify required config management plugin name.
  1. argocd app create <appName> --config-management-plugin <pluginName>

More config management plugin examples are available in argocd-example-apps.

Environment

Commands have access to

  1. The system environment variables
  2. Standard build environment
  3. Variables in the application spec:

v1.2

  1. spec:
  2. source:
  3. plugin:
  4. env:
  5. - name: FOO
  6. value: bar